草庐IT

ios - 从 NSString 警告分配 NSMutableString

全部标签

c# - 在 OOP 中覆盖方法与分配方法委托(delegate)/事件

这是一个有点奇怪的oop问题。我想创建一组对象(在设计时已知),每个对象都有与之关联的某些功能。我可以通过为我的对象提供可以包含“代表”的属性来做到这一点:publicclassStateTransition{FuncCondition{get;set;}ActionActionToTake{get;set;}FuncVerifyActionWorked{get;set;}}StateTransitionfoo=newStateTransition{Condition=()=>{//...}//etc};或者,我可以使用一个抽象类并为我想创建的每个对象实现它:publicabstrac

c# - User.IsInRole() 在角色分配后不工作,但在重新登录后工作

在ASP.NETMVC5应用程序中,我使用Unity容器创建OWIN/Identity对象并解析所有依赖项。问题是当我注册为新用户并给他分配这样的角色时userManager.AddToRole(user.Id,"NewUser");...awaituserManager.UpdateAsync(user);它实际上在AspNetUserRoles表中创建了一条记录,但在那之后如果我用User.IsInRole("NewUser")检查他的角色我得到的是假的,除非我注销然后重新登录,否则它是真的。我猜问题可能出在Unity上下文中的身份对象(UserManager、RoleManage

c# - 如果不使用返回值是否可能得到警告?

我有一个返回值的扩展方法。在这种情况下,它应该在一个字节中设置一个特定的位:publicstaticbyteSetBit(thisbyteb,intbitNumber,boolvalue){if(value){return(byte)(b|(1返回值需要重新赋值给一个变量,因为我不能结合this和ref:bytemyByte=3;myByte=myByte.SetBit(1,false);很容易不小心忘记作业。有人可能会认为该方法直接更改值。对于String.Replace,ReSharper/VisualStudio(?)警告我未使用纯方法的返回值:这在某种程度上也适用于我的方法吗?

c# - 警告 : Assembly binding logging is turned OFF

我遇到了这个错误,WRN:AssemblybindingloggingisturnedOFF.Toenableassemblybindfailurelogging,settheregistryvalue[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)to1.Note:Thereissomeperformancepenaltyassociatedwithassemblybindfailurelogging.Toturnthisfeatureoff,removetheregistryvalue[HKLM\Software\Microsoft

c# - 分配免费委托(delegate)或其他方式通过地址调用方法?

我需要能够使用Mono在C#中基于函数指针调用单个方法。委托(delegate)为此工作得很好,这是他们的目的,但每次我设置委托(delegate)时他们似乎都分配52个字节(不是+=,而是使用=设置它,所以委托(delegate)总是引用一个且只有一个方法)。这个委托(delegate)每秒更改很多次,它会导致GC周期性地启动,我希望避免这种情况。我不介意初始内存分配,但有没有办法在我每次更改单个委托(delegate)值时阻止分配?如果不是,除了每次地址更改时不会分配任何内存的委托(delegate)之外,是否还有其他动态方式在C#中调用方法? 最佳答案

c# - 基于分配的权限功能的授权

我有三个表dbo.PermissionFunc,dbo.Roles,dbo.Permissions对于我的asp.netMVCwebapplication.dbo.PermissionFunc包含我项目中的所有函数名称。dbo.Roles包含用户角色,例如管理员、用户、子用户等dbo.Permissions包含RolesId来自dbo.Roles和PermissionFuncId来自dbo.PermissionFunc.我要给authorization基于dbo.Permission中分配的值.Updateinquestion:Queryusingtodetermineifthecur

c# - 让 FxCop 抑制整个类型的警告?

如何抑制整个类型的FxCop警告?namespaceConsoleApplication1{publicstaticclassSerializer{publicstaticstringSerialize(Tobj){returnstring.Empty;}publicstaticTDeserialize(stringstr){returndefault(T);}}我试过了,但它对我不起作用:[assembly:SuppressMessage("Microsoft.Design","CA1000:DoNotDeclareStaticMembersOnGenericTypes",Scope

c# - GCHandle.Alloc 是否分配内存?

我正在使用SciTech的.NETMemoryProfiler来降低程序的内存分配率和垃圾回收频率。令人惊讶的是,根据探查器,最大数量的分配似乎来自GCHandle.Alloc调用,我正在执行这些调用以将现有的.NET数组编码到nativeOpenGL。我的理解是调用GCHandle.Alloc不会分配内存,它只会将现有内存固定在托管堆上?是我错了还是分析器错了? 最佳答案 .NETreferencesource任何人都可以看到,您可以自己看看并找出答案。如果深入研究GCHandle.Alloc,您会看到它调用了一个名为Intern

c# - 为什么在调用之前为事件分配处理程序?

基本上,我经常看到这个:publiceventMyEventHandlerMyEvent;privatevoidSomeFunction(){MyEventHandlerhandler=this.MyEvent;if(handler!=null){handler(this,newMyEventArgs());}}当它可以像这样轻松完成时:publiceventMyEventHandlerMyEvent;privatevoidSomeFunction(){if(MyEvent!=null){MyEvent(this,newMyEventArgs());}}那么,我是不是漏掉了什么?人们是

c# - 可移植类库不支持System.IO,为什么?

我创建了一个可移植类库,用于我的Monodroid项目。但问题是我需要System.IO库,但不幸的是我无法添加它。我什至尝试通过“添加引用”选项添加它,但没有成功。为什么会这样?我该怎么做? 最佳答案 您不能使用System.IO,因为它不是可移植类库。System.IO进行特定于其运行的操作系统(Windows)的调用,而可移植类库是跨平台的。可以找到您正在寻找的解决方案here:Whatshouldyoudowhenyou’retryingtowriteaportablelibrarybutyouneedsomefunctio